// // 浅拷贝函数
// function shallowCopy(obj) {
//   if (typeof obj !== "object" || obj === null) {
//     return obj;
//   }
//   let result = Array.isArray(obj) ? [] : {};
//   for (const key in obj) {
//     if (obj.hasOwnProperty(key)) {
//       result[key] = obj[key];
//     }
//   }
//   return result;
// }
// const originalObject = {
//     name: "Tom",
//     age: 25,
//     details: { hobby: "reading" }
// };
// const copiedObject = shallowCopy(originalObject);
// console.log(copiedObject);
// // 修改原对象的属性值
// originalObject.details.hobby="running";
// console.log(originalObject);
// console.log(copiedObject);
// // 深拷贝函数
// function deepClone(obj) {
//   if (typeof obj !== "object" || obj === null) {
//     return obj;
//   }
//   let result = Array.isArray(obj) ? [] : {};
//   for (const key in obj) {
//     if (obj.hasOwnProperty(key)) {
//       result[key] = deepClone(obj[key]);
//     }
//   }
//   return result;
// }
function deepClone(obj) {
  if (typeof obj !== "object" || obj === null) {
    return obj;
  }
  let result = Array.isArray(obj) ? [] : {};
  for (const key in obj) {
    // result[key] = deepClone(obj[key]);
    result[key] = obj[key];
  }
  return result;
}
const originalObject = {
  name: "Tom",
  age: 25,
  details: { hobby: "reading" },
};
const copiedObject = deepClone(originalObject);
copiedObject.details.hobby = "swimming";
copiedObject.age = 30;
console.log(originalObject);
console.log(copiedObject);
// 准备20道题目,如果还是没能面过就算了
